/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package org.uca.dss.curso1011.grupo3.estrategiaasientos;

import java.util.List;
import org.joda.time.LocalDate;
import org.joda.time.LocalTime;
import org.uca.dss.curso1011.grupo3.gestionreservas.Reserva;
import org.uca.dss.curso1011.grupo3.gestionreservas.Trayecto;
import org.uca.dss.curso1011.grupo3.gestionreservasextendido.GestionReservasExtendido;

/**
 *
 * @author LEVI
 */
public class EstrategiaAsientosIncremental extends EstrategiaAsientos{

    
    public EstrategiaAsientosIncremental(GestionReservasExtendido gestionReservasExtendido)
    {
        super(gestionReservasExtendido);
    }

    @Override
    public int getNumeroAsiento(Trayecto trayecto, LocalDate fecha, LocalTime horaSalida){

        Boolean reservado = false;
        int i = 1;
        int j = 0;
        
        List<Reserva> reservas = gestionReservasExtendido.listaReservasTrayecto(trayecto, fecha, horaSalida);
        
        for(i = 1; i <= trayecto.getTren().getNAsientos(); ++i)
        {
            for(j = 0; j < reservas.size() && !reservado; ++j)
            {
                if(reservas.get(j).getnumAsiento() == i)
                {
                    reservado = true;
                }
            }
            if(!reservado)
            {
                return i;
            }
            reservado = false;
        }

        return -1;
    }

}
